import type { Novel, NovelChapter } from '@/dataType/novelType';
import { apiService } from '@/services/api';
import type { PageResponse } from '@/dataType/pageType';


export const novelService  = {
  /**
   * 获取小说列表
   * @returns 小说列表数据
   */
  getNovelList: (pageNum: number, pageSize: number): Promise<PageResponse<Novel>> => apiService.get<PageResponse<Novel>>('/api/novel/listPage', { params: { pageNum, pageSize } }),
  /**
   * 获取小说详情
   * @param id 小说ID
   * @returns 小说详情
   */
  getNovelDetail: (id: string): Promise<Novel | null> => apiService.get<Novel | null>(`/api/novel/${id}`),
  /**
   * 获取小说章节列表
   * @param pageNum 页码
   * @param pageSize 每页数量
   * @param novelId 小说ID
   * @returns 小说章节列表数据
   */
  getNovelChapterList: (pageNum: number, pageSize: number, novelId: string): Promise<PageResponse<NovelChapter>> => apiService.get<PageResponse<NovelChapter>>(`/api/novel/chapter/listPage`, { params: { pageNum, pageSize, novelId } }),
  /**
   * 获取小说章节详情
   * @param id 章节ID
   * @returns 小说章节详情数据
   */
  getNovelChapterDetail: (id: string): Promise<NovelChapter | null> => apiService.get<NovelChapter | null>(`/api/novel/chapter/${id}`),
};